package org.example.mapper;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.example.entity.dto.EditPartyOrganizationInfoDto;
import org.example.entity.po.DynamicExcelData;
import org.example.entity.vo.PartyOrganizationInfoVO;

import java.util.List;
import java.util.Map;

@Mapper
public interface PartyBuildingGuidanceMapper {

    void dropTableIfExists(String tableName);

    void createTable(@Param("tableName") String tableName, @Param("columnNames") List<Object> columnNames);

    void insertData(@Param("tableName") String tableName, @Param("data") Map<String, Object> data);

    List<String> selectHeaderColumns(@Param("tableName") String tableName);

    List<Map<String, Object>> selectTableData(@Param("tableName") String tableName);

    boolean selectTableExist(@Param("tableName")String tableName);

    void deleteElement(@Param("tableName")String tableName, @Param("id")Long id);

    PartyOrganizationInfoVO groupInfo();

    void edit(EditPartyOrganizationInfoDto dto);

    void insertTable(@Param("sqlStr")String sqlStr);
}
